using System;

/// <summary>
/// Flags for field
/// </summary>
[Flags]
public enum FieldFlags
{
	/// <summary>
	/// no flags
	/// </summary>
	None = 0x00,
	/// <summary>
	/// Field have no corresponding db column
	/// </summary>
	Fictitious = 0x01,
	/// <summary>
	/// Field is primary key
	/// </summary>
	PrimaryKey = 0x02,
	/// <summary>
	/// Field is identity
	/// </summary>
	Identity = 0x04,
	/// <summary>
	/// Don't allow to insert null value
	/// </summary>
	DisableNull = 0x08,
	/// <summary>
	/// Field value will be ebcrypted while saving and decripted while loading from database
	/// </summary>
	Secure = 0x10,
	/// <summary>
	/// Custom encrypt
	/// </summary>
	CustomEncrypt = 0x20,
	/// <summary>
	/// Custom decrypt
	/// </summary>
	CustomDecrypt = 0x40,
	/// <summary>
	/// Indicate that field will not be loaded by default queries
	/// </summary>
	HeavyField = 0x80,
	/// <summary>
	/// use with Secured flag to ignore DESHelper.ExtraBytesCount
	/// </summary>
	SecuredNoExtraBytes = 0x100,
}
